High speed digital communications between integrated circuits is typically accomplished using a serial links, such as serializer-deserializer (SerDes) blocks. These blocks convert data between serial data and parallel interfaces in each direction of communication. However, such blocks are generally unable to handle the transmission of differential signals between integrated circuits as the bit rate is increased above a certain level. For example, in some differential pin pair designs, the bit rate has increased to 12.5 Gigabits per second (Gbps). At such bit rates, the frequency response of the signal path between integrated circuits is typically inadequate and generally results in a significant distortion of the digital signal waveforms. These distortions can result in significant intersymbol interference (ISI) as a signal associated with a first bit is distorted, which is known to affect signals associated with one or more later adjacent bits in the bit stream.
In general, adaptive equalization techniques using digital filters can be used to substantially cancel out these distortions so that the signal bits can be detected without error. One common type of digital filter is the decision feedback equalizer (DFE) 100, shown in FIG. 1. A DFE is a recursive filter based on the principle that once the value of a currently transmitted bit has been determined, it is possible to substantially remove the ISI contribution of that bit from future received bits using a feedback loop. Accordingly, once the value of the received bit shown as r(t) has been determined, a feedback structure for the DFE can be used to calculate the ISI effect of the received bit on subsequently received bits and to calculate the appropriate compensation required for the next received bit. This compensation is typically provided by using at least one adder circuit 105 operable to add or subtract at least one correction term to the input r(t). Typically, a slicer circuit 108 is used to detect the polarity of the compensated signal to convert it to a digital high (“1”) or a digital low (“0”) signal to generate an output value for the DFE, shown as {circumflex over (r)}(t). A feedback loop through one or more output registers or delay blocks (shown as z−1) can be used to hold a history of compensated values for one or more bit times and allows the effect of multiple preceding bits to be taken into account for determining the proper compensation to be applied at the adder 105. The preceding bit values are typically multiplied a weight wx (x=1, 2, 3, . . . ) in the DFE, which are then added at the adder 105 to the next received bit signal. Therefore, so as long as the circuit correctly detects a received bit, the DFE 100 can generally apply the proper correction to substantially eliminate the distortion caused by preceding bits. Accordingly, as the number of preceding bits used is increased, the accuracy of the DFE is generally increased.
In practice, when equalizing over multiple bits of history, the resulting bits of history generated by the delay blocks are generally used as vectors to provide a select control for one or more multiplexers, where the sums of all the correction weights have been pre-computed. This approach has the advantage of reduCINg hardware by eliminating the separate additions steps required for each of the correction terms. It also helps to reduce roundoff errors, so that an equivalent quality of results can generally be obtained with datapaths containing fewer bits. However, the number of inputs to a multiplexer doubles with each additional bit of history used, and therefore such implementations generally suffer a limit on the history length for equalization. Additionally, in such implementations, the clock frequency must be≧the bit rate of the input signal. Accordingly, at high bit rates, it is generally difficult and in some cases not possible to implement a digital logic arrangement capable of running at the full bit rate of the input signal. Therefore, what is needed is a new compensating filter design that can provide the necessary corrections to input signals including high bit rate signals without generally requiring the clock frequency to be≧the bit rate of the input signal.